package com.youlai.boot.gym.model.form;

import java.io.Serial;
import java.io.Serializable;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.time.LocalDate;
import jakarta.validation.constraints.*;

/**
 * 器材表单对象
 *
 * @author hxc
 * @since 2025-06-01 10:04
 */
@Getter
@Setter
@Schema(description = "器材表单对象")
public class EquipmentsForm implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "器材名称")
    @NotBlank(message = "器材名称不能为空")
    @Size(max=100, message="器材名称长度不能超过100个字符")
    private String equipmentName;

    @Schema(description = "器材类别")
    @NotBlank(message = "器材类别不能为空")
    @Size(max=50, message="器材类别长度不能超过50个字符")
    private String category;

    @Schema(description = "购买日期")
    @NotNull(message = "购买日期不能为空")
    private LocalDate purchaseDate;

    @Schema(description = "保修到期日")
    private LocalDate warrantyExpire;

    @Schema(description = "器材状态(1-正常 2-维修中  3-报废)")
    private Integer equipmentStatus;

    @Schema(description = "存放位置")
    @Size(max=100, message="存放位置长度不能超过100个字符")
    private String location;

    @Schema(description = "备注信息")
    @Size(max=65535, message="备注信息长度不能超过65535个字符")
    private String notes;


}
